/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package co.edu.uniminuto.Videominuto.ln;

import co.edu.uniminuto.Videominuto.entities.Cliente;
import co.edu.uniminuto.Videominuto.entities.Compra;
import co.edu.uniminuto.Videominuto.entities.Historial;
import co.edu.uniminuto.Videominuto.entities.HistorialPK;
import co.edu.uniminuto.Videominuto.entities.Video;
import co.edu.uniminuto.Videominuto.session.ClienteFacade;
import co.edu.uniminuto.Videominuto.session.CompraFacade;
import co.edu.uniminuto.Videominuto.session.HistorialFacade;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.ejb.EJB;
import javax.ejb.Stateless;
import javax.ejb.LocalBean;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpSession;

/**
 *
 * @author JULIAN
 */
@Stateless
@LocalBean
public class CatalogoCompraAlguiler {

    @EJB
    private CompraFacade compraFacade;
    @EJB
    private HistorialFacade historialFacade;
    @EJB
    private ClienteFacade clienteFacade;
    
    private List<Video> listaVideo;
    private Historial historial;
    private HistorialPK datos;
    private Date fecha;
    private Compra compra;

    public String procesaCompra(Cliente cliente, Video video) {
        try {                
            datos = new HistorialPK();
            historial = new Historial();
            fecha = new Date();
            listaVideo = new ArrayList();
            compra = new Compra();
            SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
            String prueba = sdf.format(fecha);

            datos.setIdCliente(cliente.getIdCliente());
            datos.setIsanVdi(video.getIsanVideo());
            historial.setHistorialPK(datos);

            historial.setFecha(sdf.parse(prueba));

            historialFacade.create(historial);


            cliente.setSaldo(cliente.getSaldo().subtract(video.getPrecioCompra()));
            cliente.setPuntos(cliente.getPuntos() + 2);
            clienteFacade.edit(cliente);

            
            listaVideo.add(video);
            
            compra.setIdCliente(cliente);
            compra.setValorCompra(video.getPrecioCompra());
            compra.setVideoList(listaVideo);
            compraFacade.create(compra);
           
        
      
       
        
            return "compraExitosa";

        } catch (Exception e) {
            return "compraFallida";
        }
    }
}
